/*
    1）编写服务端程序，返回html字符串
       对于展示商品的”加入购物车“页面，写一段服务代码，返回“加入购物车”页面的源码字符串，即网页的html，并在浏览器端查阅效果。
       发送：'<!DOCTYPE html> \
    <html lang = "en" > \
        <head> \
           ...'

       
    2）编写服务端程序，返回html文件
       对于展示商品的“加入购物车”页面，在服务器端，存为网页文件items.html，写一段服务代码，向客户端返回网页文件items.html。在浏览器查阅效果。
      
       let rs=createReadStream(...);
       rs.pipe(response);


    3）编写服务端程序，以模板字符串拼接
       读取cart.txt，使用模板字符拼接出html，配合相应css，展示购物车内容。服务端返回拼接好的html字符串。在浏览器查阅效果。

       let sHtml=`<!DOCTYPE html>
    <html lang = "en" >
        <head>
            <meta charset="UTF-8">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                    <title>Document</title>
</head>
                <body>
                    <div class="cart">`
      
        //假如已经从文件中读进来了，那么是一个json字符串
      let c='[{"ID":1,"品名":"中学语文","价格":30.1,"数量":2},{"ID":2,"品名":"水壶","价格":60.5,"数量":1}]';
      let cart=JSON.parse(c);

      cart.forEach((it)=>{
         sHtml += `<div class="item">ID:${it.ID}， 品名: ${it.品名}，数量: ${it.数量}，单价: ${it.单价}，金额: ${it.单价*it.数量}</div>`
      })

      sHtml +=`</div>
                </body>
</html>`



       
       
*/

//（——1111——）
// const http = require('http')
// const hostname = '127.0.0.1';
// const port = 3030;
// const server = http.createServer((req, res) => {
//     res.statusCode = 200
//     res.setHeader('Content-Type', 'text/html') //若产生乱码，请参考http协议，修订这里
//         // res.end('你好世界\n') //加上utf-8不乱码
//     var htmlFile = '<!DOCTYPE html>' +
//         '<html lang="en">' +
//         '<head>' +
//         '<meta charset="UTF-8">' +
//         '<meta name="viewport" content="width=device-width, initial-scale=1.0">' +
//         '<title>Document</title>' +
//         '</head>' +
//         '<body>' +
//         'hello world!' +
//         '</body>' +
//         '</html>'
//     res.end(htmlFile)
// })

// server.listen(port, hostname, () => {
//     console.log(`服务器运行在 http://${hostname}:${port}/`); //注意这里的模板字符
// })

//（——2222——）
// const http = require('http');
// const fs = require('fs')
// const hostname = '127.0.0.1';
// const port = 3030;
// const server = http.createServer((req, res) => {
//     res.statusCode = 200
//     res.setHeader('Content-Type', 'text/html') //若产生乱码，请参考http协议，修订这里
//         // res.end('你好世界\n') //加上utf-8不乱码
//     var readStream = fs.createReadStream(__dirname + '/items.html', 'utf8')
//     readStream.pipe(res);
// })

// server.listen(port, hostname, () => {
//     console.log(`服务器运行在 http://${hostname}:${port}/`); //注意这里的模板字符
// })

// 333
let className = require("./p4-module")
let fs = require('fs')
let CN = new className.CUser("lyshsd")
let e = require("events");
let eEmitter = new e.EventEmitter();
eEmitter.addListener("购物车读取", readFil)

var rdata = '';

function readFil() {

    // 创建可读流
    var readerStream = fs.createReadStream(CN.用户名 + '/cart.txt');
    // 设置编码为 utf8。
    readerStream.setEncoding('UTF8');
    // 处理流事件 --> data, end, and error
    readerStream.on('data', function(chunk) {
        rdata += chunk;
    });
    readerStream.on('end', function() {});
    readerStream.on('error', function(err) {
        console.log("购物车读取失败" + err.stack);
    });
}
eEmitter.emit("购物车读取")

const http = require('http')
const hostname = '127.0.0.1';
const port = 3030;
const server = http.createServer((req, res) => {
    res.statusCode = 200
    res.setHeader('Content-Type', 'text/html')

    let sHtml = `<!DOCTYPE html>
    <html lang = "en" >
        <head>
            <meta charset="UTF-8">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                    <title>Document</title>
</head>
                <body>
                    <div class="cart">`

    //假如已经从文件中读进来了，那么是一个json字符串

    let cart = JSON.parse(rdata);

    cart.forEach((it) => {
        sHtml += `<div class="item">ID:${it.ID}， 品名: ${it.品名}，数量: ${it.数量}，单价: ${it.价格}，金额: ${it.价格*it.数量}</div>`
    })

    sHtml += `</div>
                </body>
</html>`

    res.end(sHtml)
})
server.listen(port, hostname, () => {
    console.log(`服务器运行在 http://${hostname}:${port}/`); //注意这里的模板字符
})